home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #11 / Amiga Plus CD - 2004 - No. 11.iso / AmiSoft / Dev / cross / Annotate.readme < prev    next >
Text File  |  2004-09-23  |  3KB  |  83 lines

  1. Short:    Comments/reformats DASMX 2650 cross-disasms
  2. Author:   james.jacobs@bigpond.com (James Jacobs)
  3. Uploader: james.jacobs@bigpond.com (James Jacobs)
  4. Version:  1.12
  5. Type:     dev/cross
  6.  
  7. ANNOTATES reformats the output of the DASMX cross-disassembler to make
  8. it more readable (by adding pseudo-C endline comments), and more
  9. compatible with the VACS cross-assembler. Both of those programs are for
  10. the IBM-PC. ANNOTATE is intended for Emerson Arcadia 2001 console
  11. retroprogrammers, although it may be useful in regard to development for
  12. other platforms which also use the Signetics 2650 CPU.
  13.  
  14. There are six different 'levels' of operation. Each higher level adds
  15. additional annotation; ie. the highest level gives the friendliest, most
  16. detailed output.
  17.  
  18. 1: (a) Convert tabs to spaces.
  19.    (b) Convert ",+" and ",-" postincrement/postdecrement notation to "+"
  20.        and "-", respectively.
  21.    (c) Convert literals to "$x"-style.
  22.    (d) Convert labels at $2000 or later to literals.
  23.    (e) Convert registers to condition codes for BSNA and BSNR opcodes
  24.        (to deal with a bug in VACS).
  25.    (f) Append ",r3" to operand after BXA and BSXA opcodes.
  26.    (g) Append "end" to end of file.
  27.    (h) Remove DASMX comments.
  28.    (i) Insert 2650 equates.
  29. 2: (a) Append pseudo-C comments.
  30. 3: (a) Insert hardware equate definitions.
  31.    (b) Convert hardware registers from literals to constants.
  32. 4: (a) Append memory purpose information to memory access comments.
  33. 5: (a) Insert hardware equate comments.
  34. 6: (a) Append byte-lengths of each instruction.
  35.  
  36. You *must* feed it unmodified DASMX output, which has been disassembled
  37. with the 'numformat I' option. 
  38.  
  39. You use it from the command line. All output from the program goes to the
  40. standard output (normally the console), and thus can be piped or
  41. redirected as desired.
  42.  
  43. Usage is as follows:
  44.  
  45.     1> Annotate [FILE=]<filename> [LEVEL=<number>] [AMIGA]
  46.  
  47. The template is:
  48.  
  49.     FILE/A,LEVEL/N,AMIGA/S
  50.  
  51. FILE is the input filename. LEVEL is the level number as explained above.
  52. The default level is 6 (ie. the most detailed output). The AMIGA keyword
  53. will cause carriage returns found in the input to be omitted on the
  54. output; ie. to use Amiga-style end-of-line (EOL) sequences (LF) rather
  55. than IBM-PC ones (CR+LF). This is more convenient for manipulation of the
  56. output on an Amiga but is not acceptable to VACS.
  57.  
  58. Output is to the console by default; use redirection to create an
  59. output file. For example:
  60.  
  61.     1> Annotate ROBOTKI1.ASM >ROBOTKI2.ASM
  62.  
  63. SAS/C source code is included. Also included is an example disassembly of
  64. the Robot Killer game. ROBOTKI1.ASM is the unmodified DASMX output,
  65. disassembled with the 'numformat I' option of course. ROBOTKI2.ASM is the
  66. result of using ANNOTATE on ROBOTKI1.asm, and will assemble under VACS
  67. without any changes required.
  68.  
  69. Note that zero page addresses (ZBRR and ZBSR) are not translated correctly
  70. by DASMX and will require hand editing.
  71.  
  72. The EA2001 Patching Guide at http://geocities.yahoo.com/amigansoftware/
  73. patching.txt has detailed information about disassembly, annotation and
  74. patching of EA2001 games.
  75.  
  76. URL:   http://users.bigpond.com/james.jacobs/
  77. EMail: james.jacobs@bigpond.com
  78.  
  79.                                         Enjoy!
  80.                                         James Jacobs of Amigan Software
  81.  
  82.                                         11/8/04
  83.